home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / cross / ava-0.2.5.lha / ava-0.2.5 / avalib / avr / 2313def.inc < prev    next >
Encoding:
Text File  |  1999-03-23  |  4.5 KB  |  227 lines

  1. ;***************************************************************************
  2. ;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
  3. ;* 
  4. ;* Number        :AVR000
  5. ;* File Name        :"2313def.inc"
  6. ;* Title        :Register/Bit Definitions for the AT90S2313
  7. ;* Date             :98.05.22
  8. ;* Version        :1.22
  9. ;* Target MCU        :AT90S2313
  10. ;*
  11. ;* DESCRIPTION
  12. ;* When including this file in the assembly program file, all I/O register
  13. ;* names and I/O register bit names appearing in the data book can be used.
  14. ;* 
  15. ;* The Register names are represented by their hexadecimal addresses.
  16. ;* 
  17. ;* The Register Bit names are represented by their bit number (0-7).
  18. ;* 
  19. ;* Please observe the difference in using the bit names with instructions
  20. ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
  21. ;* (skip if bit in register set/cleared). The following example illustrates
  22. ;* this:
  23. ;* 
  24. ;* in    r16,PORTB        ;read PORTB latch
  25. ;* sbr    r16,(1<<PB6)+(1<<PB5)    ;set PB6 and PB5 (use masks, not bit#)
  26. ;* out  PORTB,r16        ;output to PORTB
  27. ;*
  28. ;* in    r16,TIFR        ;read the Timer Interrupt Flag Register
  29. ;* sbrc    r16,TOV0        ;test the overflow flag (use bit#)
  30. ;* rjmp    TOV0_is_set        ;jump if set
  31. ;* ...                ;otherwise do something else
  32. ;***************************************************************************
  33.  
  34. ;***** I/O Register Definitions
  35. #define    SREG     $3f
  36. #define    SPL     $3d
  37. #define    GIMSK     $3b
  38. #define    GIFR     $3a
  39. #define    TIMSK     $39
  40. #define    TIFR     $38
  41. #define    MCUCR     $35
  42. #define    TCCR0     $33
  43. #define    TCNT0     $32
  44. #define    TCCR1A     $2f
  45. #define    TCCR1B     $2e
  46. #define    TCNT1H     $2d
  47. #define    TCNT1L     $2c
  48. #define    OCR1AH     $2b
  49. #define    OCR1AL     $2a
  50. #define    ICR1H     $25
  51. #define    ICR1L     $24
  52. #define    WDTCR     $21
  53. #define    EEAR     $1e
  54. #define    EEARL     $1e
  55. #define    EEDR     $1d
  56. #define    EECR     $1c
  57. #define    PORTB     $18
  58. #define    DDRB     $17
  59. #define    PINB     $16
  60. #define    PORTD     $12
  61. #define    DDRD     $11
  62. #define    PIND     $10
  63. #define    UDR     $0c
  64. #define    USR     $0b
  65. #define    UCR     $0a
  66. #define    UBRR     $09
  67. #define    ACSR     $08
  68.  
  69.  
  70. ;***** Bit Definitions
  71. #define    SP7     7
  72. #define    SP6     6
  73. #define    SP5     5
  74. #define    SP4     4
  75. #define    SP3     3
  76. #define    SP2     2
  77. #define    SP1     1
  78. #define    SP0     0
  79.  
  80. #define    INT1     7
  81. #define    INT0     6
  82.  
  83. #define    INTF1     7
  84. #define    INTF0     6
  85.  
  86. #define    TOIE1     7
  87. #define    OCIE1A     6
  88. #define    TICIE     3
  89. #define    TOIE0     1
  90.  
  91. #define    TOV1     7
  92. #define    OCF1A     6
  93. #define    ICF1     3
  94. #define    TOV0     1
  95.  
  96. #define    SE     5
  97. #define    SM     4
  98. #define    ISC11     3
  99. #define    ISC10     2
  100. #define    ISC01     1
  101. #define    ISC00     0
  102.  
  103. #define    CS02     2
  104. #define    CS01     1
  105. #define    CS00     0
  106.  
  107. #define    COM1A1     7
  108. #define    COM1A0     6
  109. #define    PWM11     1
  110. #define    PWM10     0
  111.  
  112. #define    ICNC1     7
  113. #define    ICES1     6
  114. #define    CTC1     3
  115. #define    CS12     2
  116. #define    CS11     1
  117. #define    CS10     0
  118.  
  119. #define    WDTOE     4
  120. #define    WDE     3
  121. #define    WDP2     2
  122. #define    WDP1     1
  123. #define    WDP0     0
  124.  
  125. #define    EEMWE     2
  126. #define    EEWE     1
  127. #define    EERE     0
  128.  
  129. #define    PB7     7
  130. #define    PB6     6
  131. #define    PB5     5
  132. #define    PB4     4
  133. #define    PB3     3
  134. #define    PB2     2
  135. #define    PB1     1
  136. #define    PB0     0
  137.  
  138. #define    DDB7     7
  139. #define    DDB6     6
  140. #define    DDB5     5
  141. #define    DDB4     4
  142. #define    DDB3     3
  143. #define    DDB2     2
  144. #define    DDB1     1
  145. #define    DDB0     0
  146.  
  147. #define    PINB7     7
  148. #define    PINB6     6
  149. #define    PINB5     5
  150. #define    PINB4     4
  151. #define    PINB3     3
  152. #define    PINB2     2
  153. #define    PINB1     1
  154. #define    PINB0     0
  155.  
  156. #define    PD6     6
  157. #define    PD5     5
  158. #define    PD4     4
  159. #define    PD3     3
  160. #define    PD2     2
  161. #define    PD1     1
  162. #define    PD0     0
  163.  
  164. #define    DDD6     6
  165. #define    DDD5     5
  166. #define    DDD4     4
  167. #define    DDD3     3
  168. #define    DDD2     2
  169. #define    DDD1     1
  170. #define    DDD0     0
  171.  
  172. #define    PIND6     6
  173. #define    PIND5     5
  174. #define    PIND4     4
  175. #define    PIND3     3
  176. #define    PIND2     2
  177. #define    PIND1     1
  178. #define    PIND0     0
  179.  
  180. #define    RXC     7
  181. #define    TXC     6
  182. #define    UDRE     5
  183. #define    FE     4
  184. #define    OR     3
  185.  
  186. #define    RXCIE     7
  187. #define    TXCIE     6
  188. #define    UDRIE     5
  189. #define    RXEN     4
  190. #define    TXEN     3
  191. #define    CHR9     2
  192. #define    RXB8     1
  193. #define    TXB8     0
  194.  
  195. #define    ACD     7
  196. #define    ACO     5
  197. #define    ACI     4
  198. #define    ACIE     3
  199. #define    ACIC     2
  200. #define    ACIS1     1
  201. #define    ACIS0     0
  202.  
  203. #define    XL     r26
  204. #define    XH     r27
  205. #define    YL     r28
  206. #define    YH     r29
  207. #define    ZL     r30
  208. #define    ZH     r31
  209.  
  210. #define RAMEND   $DF    ;Last On-Chip SRAM Location
  211. #define    XRAMEND  $DF
  212. #define    E2END     $7F
  213. #define    FLASHEND $3FF
  214.  
  215.  
  216. #define    INT0addr $001    ;External Interrupt0 Vector Address
  217. #define    INT1addr $002    ;External Interrupt1 Vector Address
  218. #define    ICP1addr $003    ;Input Capture1 Interrupt Vector Address
  219. #define    OC1addr  $004    ;Output Compare1 Interrupt Vector Address
  220. #define    OVF1addr $005    ;Overflow1 Interrupt Vector Address
  221. #define    OVF0addr $006    ;Overflow0 Interrupt Vector Address
  222. #define    URXCaddr $007    ;UART Receive Complete Interrupt Vector Address
  223. #define    UDREaddr $008    ;UART Data Register Empty Interrupt Vector Address
  224. #define    UTXCaddr $009    ;UART Transmit Complete Interrupt Vector Address
  225. #define    ACIaddr  $00a    ;Analog Comparator Interrupt Vector Address
  226.  
  227.